package top.infopub.mgr.fia.service;

import java.util.List;

import com.github.pagehelper.Page;

import top.infopub.mgr.fia.domain.ProBudgetDomain;
import top.infopub.mgr.fia.vo.ProBudgetVo;
import top.infopub.model.fia.ProBudget;
import top.infopub.model.fia.ProBudgetDetail;
import top.infopub.generic.GenericService;

public interface ProBudgetService extends GenericService<ProBudget, String> {

    /**
     * 根据条件查询分页数据
     * @param page
     * @param proBudgetVo
     * @return 
     * @see
     */
    Page<ProBudgetDomain> selectPageByDomainWhere(Page<ProBudgetDomain> page,
                                                  ProBudgetVo proBudgetVo);

    /**
     * 根据id查询详情 
     * @param id
     * @return 
     * @see
     */
    ProBudgetVo selectById(String id);

    /**
     * 新增记录及子项
     * @param proBudget
     * @param proBudgetDetails 
     * @see
     */
    void addProBudget(ProBudgetVo proBudget, List<ProBudgetDetail> proBudgetDetails);
    
    /**
     * 判断是否存在同一公司名称、同一预算年度已有生效中单据
     */
    int count(Integer belongsYear,String proCode);
    
    /**
     * 修改操作
     */
    void udpProBudget(ProBudgetVo proBudget);
    
}